extends texmath

###########################################################################
#                             LATEX SNIPPETS                              #
###########################################################################

snippet r "\\ref{}" w
\ref{$1}
endsnippet

###########################################################################
#                            TEXTMATE SNIPPETS                            #
###########################################################################

#################
# GENERAL STUFF #
#################
snippet "b(egin)?" "begin{} / end{}" br
\begin{${1:something}}
	${0:${VISUAL}}
\end{$1}
endsnippet

####################
# TABULARS, ARRAYS #
####################

snippet tab
\begin{${1:t}${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}{${2:c}}
$0${2/((?<=.)c|l|r)|./(?1: & )/g}
\end{$1${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}
endsnippet

########################
# ENUM, DESCR, ITEMIZE #
########################
snippet enum "Enumerate" b
\begin{enumerate}
	\item $0
\end{enumerate}
endsnippet

snippet item "Itemize" b
\begin{itemize}
	\item $0
\end{itemize}
endsnippet

snippet desc "Description" b
\begin{description}
	\item[$1] $0
\end{description}
endsnippet

#####################################
# SECTIONS, CHAPTERS AND THEIR LIKE #
#####################################

snippet part "Part" b
\part{${1:part name}}
\label{prt:${2:${1/(\w+)|\W+/(?1:\L$0\E:_)/g}}}

${0}

% part $2 (end)
endsnippet

snippet cha "Chapter" b
\chapter{${1:chapter name}}
\label{cha:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% chapter $2 (end)
endsnippet

snippet sec "Section" b
\section{${1:section name}}
\label{sec:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% section $2 (end)
endsnippet


snippet sub "Subsection" b
\subsection{${1:subsection name}}
\label{sub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% subsection $2 (end)
endsnippet

snippet ssub "Subsubsection" b
\subsubsection{${1:subsubsection name}}
\label{ssub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% subsubsection $2 (end)

endsnippet

snippet par "Paragraph" b
\paragraph{${1:paragraph name}}
\label{par:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% paragraph $2 (end)
endsnippet


snippet subp "Subparagraph" b
\subparagraph{${1:subparagraph name}}
\label{par:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/g}}}

${0}

% subparagraph $2 (end)
endsnippet

###############
#  Utilities  #
###############

snippet pac "Package" b
\usepackage[${1:options}]{${2:package}}$0
endsnippet


snippet lp "Long parenthesis" 
\left(${1:${VISUAL:contents}}\right)$0
endsnippet
# vim:ft=snippets:
